home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-09-17 | 5.1 KB | 132 lines | [TEXT/MPS ] |
- *************************************************
- POWERPLANT VIEWS SUPPORT IN ODF 1 • RELEASE NOTES
- *************************************************
-
- These release notes cover the PowerPlant views support in ODF. This is a technical
- complement to the ReadMe files "Q & A" and "User Guide" which should be read first.
- In particular the "User Guide" explains how to add PowerPlant support to your part
- and how to support custom classes.
-
- PPOB READER MODULE
- ------------------
-
- We call "PPob Reader" the code contained in the 2 source files FWPPobRd.cpp and
- FWPPobOb.cpp. ('PPob' is the resource type for PowerPlant views.)
-
- FWPPobRd.cpp implements the static class FW_CPPobReader whose job is to parse
- the PPob resource stream, and for each view create a temporary object and then
- create the converted ODF view. FWPPobOb.cpp implements the classes for these
- temporary objects, with a root class FW_CPPobView.
-
- SUPPORTED POWERPLANT CLASSES
- ----------------------------
-
- The following class conversion occurs when reading a PPob resource:
-
- PowerPlant class ODF class
- +++++++++++++++++++++++++++++++++++++++++++++
- LActiveScroller FW_CScrollBarScroller
- LCaption FW_CStaticText
- LDialogBox (sets frame's bounds & default/cancel buttons)
- LEditText FW_CEditView
- LGroupBox FW_CGroupBox
- LListBox FW_CListBox
- LPicture FW_CPictSView
- LRadioGroup FW_CRadioCluster
- LRadioCluster FW_CRadioCluster
- LScroller FW_CScrollBarScroller
- LStdButton FW_CButton
- LStdCheckBox FW_CButton
- LStdPopupMenu FW_CPopupMenu
- LStdRadioButton FW_CButton
- LTabGroup FW_CViewTabber
- LTextEdit FW_CEditView
- LView FW_CSuperView
- LWindow (sets frame's bounds & creates grow box)
-
- All other classes are not registered in FW_CPPobReader::RegisterAllPPClasses()
- and thus will be converted to ODF "unknown" views by default, unless your
- part registers them and provides the code to convert them.
-
- Note: it is not possible to create pure LPane or LStdControl views.
-
- CONVERSION RULES & LIMITATIONS
- ------------------------------
-
- ODF views are restricted to 16-bit coordinates. When reading coordinates or
- sizes greater than 16-bit the PPob reader gives a debugger warning:
- "PPobReader Warning: view imageSize is too big. ODF will adjust its extent."
- or
- "PPobReader Warning: found a view out of 16 bit space. ODF will adjust its bounds."
- It resets large coordinates to 0 and large sizes to 16K.
-
- Menus built with Constructor are not supported. You must still define your menu
- resources in a menu.fr file.
-
- LAttachment classes are not supported. Currently they are interpreted as views
- with large coordinates because some invalid data is read. But this allows to
- display them as unknown views...
-
-
- LPane classes have the following conversion rules and limitations:
- (class fields are named as they appear in the Constructor's class editors)
-
- • LPane fields:
- Binding flags and Pane ID are converted.
- User Constant field, Enabled and Visible flags are ignored.
-
- • LView fields:
- Scroll Unit and Scroll Position are ignored.
- When an LView object is a scroller's scrolling view its bounds are changed to
- match the scroller's bounds (minus the scroll bars) and its binding flags are
- set the the scroller's binding flags.
-
- • LScroller fields:
- An ODF frame can use only one scrolling view for its content (the content view).
- The first scrolling view is converted into the content view and additional
- scrollers generate a warning and are ignored by ODF. (However you can handle
- scrolling views as custom views like CScrollEdit in Form.)
- The LScroller object itself is converted into an ODF FW_CScrollBarScroller and
- 1 or 2 scroll bar views are created. Their view id is hard-coded to 'horz' and
- 'vert'.
-
- • LStdControl fields:
- Title, Value Message, Initial Value and Text Traits are converted.
- Control Ref Con is ignored.
- IMPORTANT: the Value Message should be the ODF value. For instance a button should
- use -10 (FW_kButtonPressedMsg) if you want to use the default ODF notification.
- Of course you can also use your own message values.
-
- • LWindow fields:
- The only data converted from an LWindow object is its location and the presence
- of a grow box. (A grow box is always created in the bottom right corner of the
- frame and its view id is hard-coded to 'grow'.) The type of window cannot be
- used here because the frame's window already exists when its subviews are created.
-
- • LDialogBox fields:
- Same as LWindow + the default and cancel button ids. The type of dialog window
- must be set by program in NewModalDialog().
-
- • LListBox fields:
- Horizontal Scrollbar and LDEF ID are not supported.
- The "Has Grow Box" flag is translated into "Multiple Selection" for ODF.
-
- • LEditField fields:
- Key filter is not supported.
-
- • LTextEdit fields:
- This class is mapped to the same ODF FW_CEditView class as LEditField... because
- ODF doesn't have any built-in scrolling text class yet.
- However Form provides an example for converting it to a custom CScrollEdit class.
-
- • LPicture fields:
- The image size should remain 0, 0 in order to use the picture size by default.
- The PICT resource must be present in the same resource file.
-
-
- API REFERENCE
- -------------
-
- <To be documented later>
- Please see the User Guide and the code in Form and ViewTester.
-